26.6.2 Environment属性

<springProperty>标签允许你从Spring Environment读取属性,以便在Logback中使用。如果你想在logback配置获取application.properties中的属性值,该功能就很有用。该标签工作方式跟Logback标准<property>标签类似,但不是直接指定value值,你需要定义属性的source(来自Environment),也可以指定存储属性作用域的scope。如果Environment没有相应属性,你可以通过defaultValue设置默认值。

<springProperty scope="context" name="fluentHost" source="myapp.fluentd.host"
        defaultValue="localhost"/>
<appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender">
    <remoteHost>${fluentHost}</remoteHost>
    ...
</appender>

RelaxedPropertyResolver用于获取Environment属性,如果以中划线的方式指定sourcemy-property-name),则所有relaxed变体都会进行尝试(myPropertyNameMY_PROPERTY_NAME等)。